package com.yxy.service;

import com.yxy.common.PageResult;
import com.yxy.pojo.dto.SightsBookingDTO;
import com.yxy.pojo.dto.SightsBookingPageQueryDTO;
import com.yxy.pojo.vo.SightsBookingVO;

public interface SightsBookingService {
    /**
     * 添加景点预定
     * @param sightsBookingDTO
     */
    void addSightsBooking(SightsBookingDTO sightsBookingDTO);

    /**
     * 获取景点预定
     * @param sightsId
     * @param userId
     * @return
     */
    SightsBookingVO getSightsBooking(Integer sightsId, Integer userId);

    /**
     * 取消景点预定
     * @param sightsId
     * @param userId
     */
    void cancelSightsBooking(Integer sightsId, Integer userId, Integer bookingId);

    /**
     * 分页查询景点预定
     * @param sightsBookingPageQueryDTO
     * @return
     */
    PageResult page(SightsBookingPageQueryDTO sightsBookingPageQueryDTO);

    /**
     * 分页查询用户景点预定
     * @param sightsBookingPageQueryDTO
     * @return
     */
    PageResult pageQuerySightsBooking(SightsBookingPageQueryDTO sightsBookingPageQueryDTO);

    /**
     * 根据id查询景点预定
     * @param id
     * @return
     */
    SightsBookingVO getSightsBookingById(Integer id);

    /**
     * 使用景点预定
     * @param id
     */
    String use(int id);

    /**
     * 导出景点预定
     */
    String exportToExcel();
}
